With recent trends of using multicore processors in high throughput computing, multi-threaded applications are becoming increasingly important.